package com.alks.function.service.biocontrol.deptwork;

import com.alks.entity.data.entity.PsScheduleHeadCut;
import com.alks.entity.data.page.PageRecord;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.dto.biocontrol.webwork.SchLineDto;
import com.alks.function.data.request.biocontrol.webwork.ScheduleCutLotRequest;

import java.math.BigDecimal;
import java.util.List;

public interface IScheduleCutLotService {

    ResponseInfo getUnScheduleList(ScheduleCutLotRequest scheduleCutLot);

    /**
     * 冲裁产线查询
     *
     * @return 冲裁产线数据
     */
    List<SchLineDto> line();

    /**
     * 冲裁进度明细
     *
     * @return 冲裁进度明细数据
     */
    PageRecord<PsScheduleHeadCut> detailList(ScheduleCutLotRequest request);

    /**
     * 整单安排
     * @param lotNoList 指令
     * @param line 线别
     * @param seqNo 序号
     */
    void sch(List<String> lotNoList, String line, BigDecimal seqNo);

    /**
     * 取消安排
     * @param line 产线
     * @param seqNo 序号
     */
    void cancelSch(String line, String seqNo);

    /**
     * 更新指令
     */
    void tempUp();

    /**
     * 更新进度表
     */
    void schUp();

    /**
     * 上下移动排产进度
     * @param line 线别
     * @param seqNoList 序号
     * @param type 1上移 2下移
     */
    void schUd(String line, List<BigDecimal> seqNoList, Integer type);

    /**
     * 线别切换
     * @param line 产线
     * @param seqNoList 序号
     * @param tagLine 目标产线
     */
    void schMoveLine(String line, List<BigDecimal> seqNoList, String tagLine);
}
